<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        var arr = [34,21,3,7,9,23,50];
        // 1.查找 数组中最小的值 ；
        // var min = arr[0] ;  // 假设这个值是最小值 ；
        // // 循环比较 数组里的每一个值 
        // for(var i=1;i<arr.length;i++){
        //     if(arr[i]<min){
        //         min = arr[i];
        //     }
        // }
        // console.log(min);



        // 2.查找数组里最大的值
        // var max = arr[0];
        // for(var i=0;i<arr.length;i++){
        //     if(arr[i]>max){
        //         max = arr[i];
        //     }
        // }
        // console.log(max);



        // 3.函数的参数类型  
        // function fn(){
        //     console.log(arguments);
        //     arguments[2]();
        // }
        // // 函数的实参 也是可以任意类型 
        // fn("11",[1,2,3],function(){console.log(123)},null,undefined);


        // function fn(a){
        //     a();
        // }

        // fn(function(){console.log(123)});


        // 小练习： 定义一个函数 ，传入三个不相同的数字类型实参  函数里 打印最大值 最小值 和中间值；

            // function test(a,b){
            //     console.log(arguments);
            // }
            // test(1,2,3);

            //1. arguments 只在函数内部会有   2. 不需要定义
            // 3. arguments 和形参 没关系 ；
        
            // function fn(a,b){  //形参
            //     console.log(arguments);  // 把调用时候的实参 放在伪数组;
            // }

            // fn(1,2);


            function fn(){
                // 找最小值 
                var min = arguments[0];
                var max = arguments[0];
                for(var i=0;i<arguments.length;i++){
                    if(arguments[i]<min){
                        min = arguments[i]
                    }
                  
                    if(arguments[i]>max){
                        max = arguments[i];
                    }

                    // console.log(min , max);
                }
                // 找到最大值 和最小值 都需要 循环走完 才能确定 

                console.log("最大值:",max,"最小值:",min);
                // 只有把最大值和最小值确定了才能确定中间值 ；
                for(var j=0;j<arguments.length;j++){
                    if(min<arguments[j] && arguments[j]<max){
                        console.log("中间值为",arguments[j]);
                    }
                }
            }


            fn(1,2,3);

    </script>
</body>
</html>